<h1 id="setpci">setpci</h1>
<p>查询和配置PCI设备的使用工具</p>
<h2 id="补充说明">补充说明</h2>
<p><strong>setpci命令</strong> 是一个查询和配置PCI设备的使用工具。</p>
<h3 id="语法">语法</h3>
<pre><code class="language-bash">setpci(选项)(参数)</code></pre>
<h3 id="选项">选项</h3>
<pre><code class="language-bash">-v：显示指令执行的细节信息；
-f：当没有任何操作需要完成时，不显示任何信息；
-D：测试模式，并不真正将配置信息写入寄存器；
-d：仅显示给定厂商和设备的信息；
-s：仅显示指定总线、插槽上的设备或设备上的功能块信息。</code></pre>
<h3 id="参数">参数</h3>
<ul>
<li>PCI设备：指定要配置的PCI设备；</li>
<li>操作：指定要完成的配置操作。</li>
</ul>
<h3 id="实例">实例</h3>
<p>Linux下调节笔记本屏幕亮度方法：</p>
<p>首先进入终端输入lspci命令，列出各种设备的地址：</p>
<pre><code class="language-bash">lspci
00:00.0 host bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)
00:1b.0 Audio device: Intel Corporation N10/ICH 7 Family High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 2 (rev 02)
......</code></pre>
<p>发现00:02.0是VGA设备，于是我们修改它的属性：</p>
<pre><code class="language-bash">sudo setpci -s 00:02.0 F4.B=FF</code></pre>
<p>解释一下：</p>
<ul>
<li><strong>setpci</strong> 是修改设备属性的命令。</li>
<li><strong>-s</strong> 表示接下来输入的是设备的地址。</li>
<li><strong>00:02.0</strong> VGA设备地址（<总线>:<接口>.<功能>）。</li>
<li><strong>F4</strong> 要修改的属性的地址，这里应该表示“亮度”。</li>
<li><strong>.B</strong> 修改的长度（B应该是字节（Byte），还有w（应该是Word，两个字节）、L（应该是Long，4个字节））。</li>
<li><strong>=FF</strong> 要修改的值（可以改）。</li>
</ul>
<p>我这里00是最暗，FF是最亮，不同的电脑可能不一样。比如说我嫌FF太闪眼了，我就可以：</p>
<pre><code class="language-bash">sudo setpci -s 00:02.0 F4.B=CC</code></pre>
<!-- Linux命令行搜索引擎：https://jaywcjlove.github.io/linux-command/ -->
